(de javaMethods (Class Message InheritedMethods?)
  (let (Classes ((if InheritedMethods?
                   javaClasses
                   list)
                  Class)
        Methods (mapcan
                  (quote (Class)
                    (thread Class
                      (java "getMethods")
                      arrayAsList) )
                  Classes) )
    (if Message
      (filter
        (quote (Method)
          (thread Method
            (java "getName")
            (java "equals" Message)
            java) )
         Methods)
      Methods) ) )